home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / FGL304F.ZIP;1 / EXFOR.ARJ / FGDOC / EXAMPLES / FORTRAN / 12-05.FOR < prev    next >
Encoding:
Text File  |  1994-01-24  |  1.5 KB  |  59 lines

  1. $INCLUDE: 'C:\FG\INTRFACE.FOR'
  2.  
  3.       PROGRAM MAIN
  4.  
  5.       INTEGER*2 VISUAL, HIDDEN
  6.       PARAMETER (VISUAL=0)
  7.       PARAMETER (HIDDEN=1)
  8.  
  9.       INTEGER*2 NEW_MODE, OLD_MODE
  10.       INTEGER*2 FRAME, OFFSET
  11.       INTEGER*2 I
  12.       INTEGER*2 STATUS
  13.       INTEGER*2 FG_ALLOCATE, FG_FREEPAGE
  14.       INTEGER*2 FG_BESTMODE, FG_GETMODE
  15.  
  16. C  initialize the video environment
  17.  
  18.       NEW_MODE = FG_BESTMODE(320,200,2)
  19.       IF (NEW_MODE .LT. 0 .OR. NEW_MODE .EQ. 12) THEN
  20.          STOP 'This program requires a 320 x 200 color graphics mode.'
  21.       END IF
  22.       OLD_MODE = FG_GETMODE()
  23.       CALL FG_SETMODE(NEW_MODE)
  24.       STATUS = FG_ALLOCATE(HIDDEN)
  25.  
  26. C  draw the background in the upper left corner
  27.  
  28.       CALL FG_SETPAGE(HIDDEN)
  29.       CALL FG_SETCOLOR(1)
  30.       CALL FG_RECT(0,95,0,49)
  31.       CALL FG_SETCOLOR(15)
  32.       CALL FG_MOVE(48,25)
  33.       CALL FG_ELLIPSE(20,20)
  34.  
  35. C  copy it to the center of the visual page
  36.  
  37.       CALL FG_TRANSFER(0,95,0,49,112,124,HIDDEN,VISUAL)
  38.  
  39. C  slide the object across the background three times
  40.  
  41.       CALL FG_SETCOLOR(10)
  42.       DO 10 I = 0,35
  43.          FRAME  = MOD(I,12)
  44.          OFFSET = 10 * FRAME - 10
  45.          CALL FG_TRANSFER(0,95,20,29,112,105,HIDDEN,HIDDEN)
  46.          CALL FG_RECT(112+OFFSET,131+OFFSET,96,105)
  47.          CALL FG_TRANSFER(112,207,96,105,112,105,HIDDEN,VISUAL)
  48.          CALL FG_WAITFOR(2)
  49. 10    CONTINUE
  50.  
  51. C  restore the original video mode and return to DOS
  52.  
  53.       STATUS = FG_FREEPAGE(HIDDEN)
  54.       CALL FG_SETMODE(OLD_MODE)
  55.       CALL FG_RESET
  56.  
  57.       STOP ' '
  58.       END
  59.